using System;
using System.Collections.Generic;
using System.Collections;
using System.Text;
using DataAccess;
using System.IO;

namespace Task.Contracts
{
    public interface IArtTask
    {
        List<art_type> ReadArtTypes();

        int AddArt(string name, string description, string path, string text,
            int artTypeId, user userTmp, int galleryId);

        bool isPhotoExtensionAllowed(string photoExtension);

        bool isPhotoRealFoto(Stream stream);

        System.Drawing.Image MakeMiniFoto(Stream stream);

        bool isBinaryExtensionAllowed(string binaryExtension);

        art ReadArtByArtId(int artId);

        void DeleteArt(int artId);

        List<rate_type> ReadRateTypes();

        void InsertRate(int userId, int rateId, int artId);

        int ReadCountRate(int artId);

        double ReadAverageRate(int artId);

        void WriteVisit(int artId, int userId);

        int ReadVisit(int artId);

        List<art> ReadLastArt();
            
        IList ReadBestArt();
    }
}
